package AgendaMultitudo;

import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

public class TestEvento {
private Evento umEvento;
	
	@Before public void criaEvento() throws Exception{
		umEvento = new Evento("Aula", "10/09/1990","24:00","4:00","muitomassa");
	}
	
	@Test public void testaEventos(){
		Assert.assertEquals("Nome Errado", "Aula", umEvento.getNome());
		Assert.assertEquals("Data Errado", "10/09/1990", umEvento.getData());
		Assert.assertEquals("Horario Errado", "24:00", umEvento.getHorario());
		Assert.assertEquals("Duracao Errado", "4:00", umEvento.getDuracao());
		Assert.assertEquals("Descricao Errado", "muitomassa", umEvento.getDescricao());
	}
	
	@Test public void testaErrosNoConstrutor(){
		
		// Nome Nulo ou Vazio
		try{
			umEvento = new Evento(null, "10/09/1990","24:00","4:00","muitomassa");
		}
		catch(Exception e){
			Assert.assertEquals("Mensagem Errada","Nome nao pode ser vazio ou nulo.",e.getMessage());
		}
		
		//Data Nula ou Vazia
		try{
			umEvento = new Evento("Aula", null,"24:00","4:00","muitomassa");
		}
		catch(Exception e){
			Assert.assertEquals("Mensagem Errada","Data nao poder ser vazia ou nula.",e.getMessage());
		}
		
		//Horaio Nulo ou Vazio
		try{
			umEvento = new Evento("Aula","10/09/1990",null,"4:00","muitomassa");
		}
		catch(Exception e){
			Assert.assertEquals("Mensagem Errada","Horario nao pode ser vazio ou nulo.",e.getMessage());
		}
		
		//Duracao Nula ou Vazia
		try{
			umEvento = new Evento("Aula","10/09/1990","24:00",null,"muitomassa");
		}
		catch(Exception e){
			Assert.assertEquals("Mensagem Errada","Duracao nao pode ser vazia ou nula.",e.getMessage());
		}

		//Descricao Nula ou Vazia
		try{
			umEvento = new Evento("Aula", "10/09/1990","24:00","4:00",null);
		}
		catch(Exception e){
			Assert.assertEquals("Mensagem Errada","Descricao nao pode ser vazia ou nula.",e.getMessage());
		}
	}
}
